Remote starting system for a vehicle

ABSTRACT

A slave controller for a remote vehicle starting system. The slave controller is mounted in a vehicle having an internal combustion engine started by a starter motor. The slave controller has an antenna circuit input for connection to an antenna circuit suitable for picking up an RF signal and an output. The slave controller also has a control module, coupled to the antenna circuit input. The control module is responsive to a signal transmitted through the antenna circuit input and originating from the antenna circuit to generate a command signal at the output for directing the starter motor to crank the internal combustion engine. The control module is operative to establish a data communication with an external entity through the antenna circuit input to perform a maintenance procedure.

FIELD OF THE INVENTION

The invention relates to a remote starting system for a vehicle that isresponsive to an RF signal to start the engine of the vehicle.

BACKGROUND OF THE INVENTION

A typical remote starting system for a vehicle has a slave controllermounted in the vehicle and a hand held command module. When the userdesires to remotely start the engine of the vehicle, he or she depressesa button on the command module that generates an RF signal. The slavecontroller pick-ups the RF signal and performs an engine startingsequence. The starting sequence includes energizing the starter motor tocrank the engine and, once the engine has started, turning off thestarter motor.

Currently available remote starting systems for a vehicle are usuallydesigned to be installed in a wide range of vehicles. It follows thatduring the installation of the remote vehicle starting system in aparticular vehicle, the slave controller must be properly configured tomatch the vehicle parameters, such as the type of engine (gasoline ordiesel), the number of cylinders, the starter cut-off RPM limit and theidle speed, among others. This configuration is usually effected bysetting the position of Dual In-line Package (DIP) switches on thehousing of the slave controller. This approach is time consuming, whichis undesirable.

Another drawback of currently available remote vehicle starting systemsis the difficulty to perform repairs. The technician attempting todiagnose a malfunction has little information about the problem, inparticular when it is an intermittent one. This renders the diagnosticoperation time consuming, complex and may result in the replacement ofgood parts.

Accordingly, there is a need in the industry to provide remote vehiclestarting systems that are easier to configure for installation inparticular vehicles and also facilitate diagnosis of malfunctions.

SUMMARY OF THE INVENTION

In one broad aspect, the invention provides a slave controller formounting in a vehicle having an internal combustion engine started by astarter motor. The slave controller has an antenna circuit input forconnection to an antenna circuit suitable for picking up a radiofrequency signal and an output. The slave controller also has a controlmodule, coupled to the antenna circuit input. The control module isresponsive to a signal transmitted through the antenna circuit input andoriginating from the antenna circuit to generate a command signal at theoutput for directing the starter motor to crank the internal combustionengine. The control module is also operative to establish a datacommunication with an external entity through the antenna circuit inputto perform a maintenance procedure.

The advantage of this slave controller is to allow a technician toperform maintenance on the slave controller without the necessity tosearch in the vehicle a special service port to which the externalmodule is to connect. Since the antenna circuit input connects with theantenna circuit through a cable that is easily accessible, it sufficesto connect the external entity to that cable such as to establish theelectrical pathway with the antenna circuit input.

In a second broad aspect, the invention provides a slave controller formounting in a vehicle having a plurality of electrical sub-systems, oneof the electrical sub-systems being a starter sub-system operative tocrank an internal combustion engine. The slave controller has a set ofports, each port being suitable for electrical connection to arespective electrical sub-system of the plurality of electricalsub-systems, the set of ports including a starter port suitable forelectrical connection to the starter sub-system. The slave controllerincludes a control module, coupled to the set of ports, the controlmodule being responsive to an RF signal to generate a command signal atthe starter port for causing energization of the starter sub-system. Thecontrol module is also operative to establish a data communication withan external entity through at least one port of the set of ports via therespective electrical sub-system thereof, to perform a maintenanceprocedure.

In a third broad aspect the invention provides a slave controller formounting in a vehicle having an internal combustion engine started by astarter motor. The slave controller comprises an output and a controlmodule coupled to the output. The control module is operative toestablish a data communication with an external entity to receive andstore configuration data and is responsive to an RF signal to generate acommand signal at the output for directing the starter motor to crankthe internal combustion engine. The generation of the command signal iseffected by processing the configuration data.

In a fourth broad aspect the invention provides a slave controller formounting in a vehicle having an internal combustion engine started by astarter motor. The slave controller comprises an antenna circuit inputfor connection to an antenna circuit suitable for picking up an RFsignal, an output and a control module coupled to the antenna circuitand the output. The control module includes a CPU, a storage medium forstoring program data for execution by said CPU and for storing an eventlog. The control module is responsive to an RF signal transmittedthrough the antenna circuit input and originating from the antennacircuit to generate a command signal at the output for directing thestarter motor to crank the internal combustion engine. The generation ofthe command signal is effected at least in part on a basis of processingof data by the CPU by execution of said program data. The program data,while executed by the CPU, monitors the control module for occurrence ofpredetermined events, and, if at least one of the predetermined eventsoccurs, creates an entry in the event log associated with the occurredpredetermined event. The program data, while executed by the CPU, isoperative to record at least one marker in the event log allowing todifferentiate between an order of occurrence of events recorded in theevent log.

In a fifth broad aspect the invention provides a slave controller formounting in a vehicle having an internal combustion engine started by astarter motor. The slave controller comprises an antenna circuit inputfor connection to an antenna circuit suitable for picking up an RFsignal, an output and a control module. The control module is coupled tothe antenna circuit input, and it is capable to acquire one of at leasttwo operative modes, namely a common mode and a maintenance mode. In thecommon mode, the control module is responsive to a signal transmittedthrough the antenna circuit input and originating from the antennacircuit to perform a starting procedure to start the internal combustionengine, the starting procedure including a plurality of individualsteps. In the maintenance mode the control module is operative toestablish a data link with an external entity, receive a command sent onthe data link and indicative of one or more steps of the startingprocedure and then perform the one or more steps indicated by thecommand without performing the entire starting procedure.

BRIEF DESCRIPTION OF THE DRAWINGS

A detailed description of examples of implementation of the presentinvention is provided hereinbelow with reference to the followingdrawings, in which:

FIG. 1 illustrates a vehicle starting system;

FIG. 2 is a block diagram of the slave controller of a remote vehiclestarting system, mounted on board the vehicle; and

FIG. 3 is a detailed block diagram of the slave controller.

In the drawings, embodiments of the invention are illustrated by way ofexample. It is to be expressly understood that the description anddrawings are only for purposes of illustration and as an aid tounderstanding, and are not intended to be a definition of the limits ofthe invention.

DETAILED DESCRIPTION

FIG. 1 is a simplified illustration of a remote vehicle starting system10. The system 10 has two components, namely a remote transmitter 12that can be of hand-held configuration for ease of use, and a slavecontroller 16 mounted on-board the vehicle 14 that has an internalcombustion engine started by a starter motor. The remote transmitter 12and the slave controller 16 establish a Radio Frequency (RF)communication between them. This RF communication serves the basicpurpose of transmitting commands from the remote transmitter 12 to theslave controller 16 that, in turn implements those commands. One ofthose commands is to start the engine, which is effected by cranking thestarter motor.

In one form of implementation, the RF communication is unidirectional,that is commands are sent from the remote transmitter 12 to the slavecontroller 16. Optionally, the RF communication can be bi-directionalwhere information is exchanged between the remote transmitter 12 and theslave controller 16.

The RF communication is effected under a specified protocol that canvary greatly according to the intended application. This feature is animplementation detail not critical to the present invention.

Note that while the drawings show a vehicle 14 in the form of anautomobile, the invention also finds applications for vehicles otherthan automobiles, such as boats, or other vehicles powered by aninternal combustion engine started by a starter motor.

FIG. 2 illustrates a block diagram of the slave controller 16 mountedon-board the vehicle 14. Details such as power supply connections andphysical installation particulars have been omitted for the sake ofclarity. The slave controller 16 is connected to an antenna circuit 18on the one hand and to a plurality of electrical sub-systems 20 of thevehicle on the other hand.

The antenna circuit 18 includes an antenna not shown. The basic functionof the antenna circuit 18 is to pick-up the RF signal issued by theremote transmitter 12. In one possible form of implementation, thesignal as picked up by the antenna is sent to the slave controller 16for processing. Optionally, the antenna circuit 18 includes apre-processing component and sends to the slave controller 16 apre-processed signal. Examples of pre-processing include demodulation ofthe signal picked up by the antenna.

Typically, the antenna circuit 18 is located remotely from the slavecontroller 16. In one specific and non-limiting example ofimplementation, the antenna circuit 18 is mounted on the windshield ofthe vehicle 14 and connects with the slave controller 16 through asuitable cable.

FIG. 3 illustrates in detail the slave controller 16. The slavecontroller 16 includes a control module 22. The control module 22 has anantenna circuit input 23 for connection to the antenna circuit 18 and aset of ports 25 for connection to respective electrical sub-systems 20of the vehicle 14. Each port 25 can be unidirectional or bi-directional,depending upon the particular electrical sub-system with which itconnects. A unidirectional port is a port that can act either as aninput where the port receives information from the electrical sub-systemwith which it connects, or as an output where the port sends a signal tothe electrical sub-system with which it connects, but not both. Abi-directional port is a port that can act as an input and as an outputin circumstances where the electrical sub-system can send signals to thecontrol module 22 or receive signals from the control module 22.

The control module is essentially a computing apparatus including aCentral Processing Unit (CPU) 24 connected to a storage medium or memory26 over a data bus 28. Note that although the drawings show the memory26 as a single block, the memory 26 can be realized as several physicalstorage units independent from one another, with identical or differentdata storage properties, such as volatile, non-volatile, etc.

The memory 26 holds program data in the form of program instructions forexecution by the CPU 24, in accordance with which the slave controller16 will perform its intended function. It is advantageous to store theprogram data in a non-volatile unit of the memory 26 to avoid loss ofdata when no electrical power is supplied to the slave controller 16.

Generally, the program data has three main functional modules. The firstfunctional module, when executed, provides a common mode of operationand, generally, performs the function of a remote vehicle startingsystem. More specifically, the first functional module, upon receptionof a signal at the antenna circuit input 23 that conveys a command tostart the engine, will perform an engine starting procedure. Broadlystated, this starting procedure generates a command signal at the port25 connected to the starter sub-system of the vehicle 14, such as tocause the starter motor to crank the engine. The first functional modulecan also perform a variety of other optional operations that can be partof the starting procedure or part of a different procedure or function.Examples of such optional operations include:

-   -   1) Sensing the Revolutions Per Minute (RPM) of the engine by        monitoring the signal on the RPM sensor electrical sub-system,        thereby monitoring RPM information. The RPM information can be        used to detect when the engine has started in order to cease        cranking it. This is usually referred to as the RPM cut-off        point. Also, the RPM information can be useful to monitor the        engine for proper idle and avoid engine over speed. If the RPM        increases beyond a certain point that indicates an over speed        condition, then the slave controller 16 shuts down the engine;    -   2) Sensing power on the brake light electrical sub-system, which        indicates when an occupant in the vehicle depresses the brake        pedal;    -   3) Sensing activation of the hood sensor electrical sub-system.        This information is useful to detect opening of the hood. When        the engine has been remotely started, thus under no direct user        supervision, opening of the hood is a warning condition which        may indicate an illegal intrusion. The action taken in response        to such warning condition can vary. One example is to turn off        the engine of the vehicle;    -   4) Sensing activation of the trunk sensor electrical sub-system.        This information is useful to detect opening of the trunk. When        the engine has been remotely started, thus under no direct user        supervision, opening of the trunk is a warning condition which        may indicate an illegal intrusion. The action taken in response        to such a warning condition can vary. One example is to turn off        the engine of the vehicle;    -   5) Sensing activation of the door sensor electrical sub-system.        This information is useful to detect opening of the door. When        the engine has been remotely started, thus under no direct user        supervision, opening of the door is a warning condition which        may indicate an illegal intrusion. The action taken in response        to such a warning condition can vary. One example is to turn off        the engine of the vehicle;    -   6) Detection and recording of significant events, which are        stored in an event log, held in the memory 26. When certain        events and conditions arise, they may be recorded to aid        malfunction diagnosis. The kind of events to record can greatly        vary depending upon the particular logging strategy developed        during the design of the remote vehicle starting system. One        such strategy is to define the events to monitor and when any        one of such events occurs an entry in the event log is made. An        example of a significant event is an error code. When a fault        condition arises an error code identifying the problem is stored        in the memory 26. By examining the stored error codes, a        technician can identify the reason for the malfunction. A fault        condition or error code corresponds to a system state that is        known to be abnormal. One possible example is a situation where        the engine is being cranked by the slave controller 16, but the        engine fails to start. Such a fault condition can be detected by        starting a timer when the command signal directing the starter        motor to crank the engine is generated. If the engine has not        started after a certain time period, the occurrence of a fault        condition is established and an error code generated and stored        in the memory 26.

Another example of a significant event is status data, such aspredetermined conditions at a particular time during the operation ofthe slave controller. An example of status data is the RPM value justbefore the engine starts.

It will be appreciated by the reader that the number of significantevents that the program data in the memory 26 can detect when executedby the CPU 24 is a matter of design. The limitations are mostly ofpractical nature such as the complexity of the program data and thestorage requirements of the slave controller to hold the program codethat detects the significant events and the event log.

Specific examples of significant events include:

-   -   Engine stopped when sensing power on the brake light electrical        sub-system, which is indicative when an occupant in the vehicle        depresses the brake pedal;    -   Engine stopped as a result of activation of the alarm system;    -   No RPM detected when engine is being cranked or when engine is        running;    -   Hood, trunk or door open;    -   Transmission is not in a secure condition. Typically this means        that the transmission is not in Park (P).    -   Ignition is ON when the RF command to start the engine is        received by the slave controller 16;    -   Maximal time period during which the engine is allowed to run        has expired;    -   The engine fails to start;    -   The RPM value recorded before the engine started. This event is        not an error in itself—it is status data logged every time the        engine is remotely started;    -   Engine over speed condition;    -   Engine starts but fails to maintain a minimal RPM value;    -   Control module failure;    -   Engine stopped by remote;    -   Engine stopped by alarm;    -   Main switch of slave controller in OFF position.

The program code that records the events in the event log also recordsin the event log one or more markers that allow determining when one ormore of the recorded events occurred with relation to a certain point ofreference in time. It is advantageous for a technician to determine whenan event occurred with relation a certain reference in time such as toascertain what are the events logged prior the reference and after thereference. For example the reference could be a point in time when acertain part on the slave controller was changed or the configuration ofthe slave controller changed. The technician would like to differentiatebetween the events logged before the change of parts or change ofconfiguration and those after. This allows determining the effect of thechange of parts or change of configuration. In one specific example, amarker in the form of a time stamp is logged in association with eachentry in the event log. This type of marker allows the technician todetermine the absolute time at which each event occurred and was loggedand thus derive whether it happened before or after a certain reference.Another possibility that can be used in combination with or substitutedto the time stamp is the date stamp.

In a possible variant, an external entity that will be described latercan write an entry in the event log, the entry being recognizable fromother entries. The writing can be done at the command of a technicianthat during a diagnostic procedure wants to create a break point in thelist of logged events. At the time at which the break point is to bemade, the technician writes the marker such that he or she candistinguish which events occurred and were logged before the break pointor marker and those occurring and logged after the break point ormarker. The marker can be any type of entry that can be distinguishedfrom other entries in the list of logged events.

The common mode of operation functions in conjunction with aconfiguration file containing configuration data that is stored in thememory 26. The configuration file adapts the slave controller 16 to theparticular vehicle in which it is installed. The configuration file is adata structure that contains information that the one of more of thefunctions or procedures run under the common mode of operation use whenthose functions or procedures are performed. The format in which theconfiguration data is stored in the configuration file is not criticalto the invention. One procedure that uses the configuration file is thestart-up procedure. Examples of the data that are held in theconfiguration file are found below:

-   -   Type of engine, gasoline or diesel;    -   Number of cylinders of the engine;    -   Starter cut-off RPM limit. When this RPM value is reached when        the engine is cranked, the cranking will stop as the engine is        presumed to be on the point of starting. Examples of RPM cut-off        points that can be specified are 800 RPM, 600 RPM or 500 RPM;    -   Time during which glow plugs are operated before cranking is        initiated (for diesel engine only);    -   Polarity of glow plugs;    -   State of ignition electrical sub-system (turned off or        maintained active)    -   Type of hood/door/trunk sensor (normally sub-system is in an        open state or closed state);    -   Turning ignition OFF between start cycles;    -   Original Equipment Manufacturer (OEM) alarm control enabled or        disabled;    -   OEM alarm operation;    -   Accessory delay 0 or 3 seconds;    -   Antitheft enabled or disabled;    -   Antitheft type passive or active;    -   Multifunction output settings;    -   Pulse before ignition time;    -   Door lock time;    -   Automatic locking enabled or disabled;    -   Unlock pulse type single or double;    -   Acknowledge on second lock command enabled or disabled;    -   Multifunction output settings time delay;    -   Engine run time;    -   Low temperature activation enabled or disabled;    -   Low temperature run time;

The second functional module is designed to perform a maintenanceprocedure on the slave controller 16. Such a maintenance procedure canbe preventive in nature or corrective, in other words designed to detecta malfunction that has occurred. The maintenance procedure involves theestablishment of a data communication with an external entity such as toupload data from the slave controller 16 or download data to the slavecontroller 16. One example of downloading data to the slave controller16 is to transfer to the memory 26 new program data designed to add anew functionality to the existing functionality provided by the originalprogram data or to replace the existing program data by a new programdata. Another example of sending data is to send commands to the slavecontroller 16 for execution. Yet another example of sending data to theslave controller 16 is to transfer to the memory 26 the configurationfile such as to adapt the slave controller 16 to a specific vehicle. Oneexample of transferring data from the slave controller 16 to theexternal entity is to transfer fully or in part the event log stored inthe memory 26.

The second functional mode can be invoked in any variety of ways. Onepossibility is to send a specific command to the slave controller suchthat the latter enters the second functional module. By “command” ismeant any condition that the slave controller 16 may recognize as adirective to invoke the second functional mode. Such command may be sentwith the remote transmitter 12, as an RF signal. Another example is toprovide on the slave controller a switch that must be manually operatedsuch as to invoke the second functional mode. Yet, another possibilityis to provide the slave controller with logic that automatically entersthe second functional mode when it recognizes that the external entityis attempting to establish a data communicative relationship. Forinstance, while the slave controller 16 is in the common (first) mode ofoperation, if a data stream is observed at any one of its ports orcommunications points, the slave controller 16 will enter the secondmode of operation.

The external entity is designated by 30 in FIG. 3. In order to establisha data communication with the control module, the external entity 30connects with any one of the ports 25 or the antenna circuit input 23.Since the ports 25 are electrically connected to respective sub-systemsof the vehicle 14, it suffices to connect the external entity 30 to oneof the electrical sub-systems 20 such as to establish the electricalpathway between any one of the ports 25 and the external entity 30. Inthe case of the antenna circuit input 23, it suffices to connect theexternal entity 30 with the cable connecting the antenna circuit 18 tothe antenna circuit input 23. Another possibility is to connect theexternal entity 30 with the slave controller 16 over an RF data link,the reception being made through the antenna circuit 18. Thispossibility only allows a single direction of communication. To allowthe slave controller 16 to send data over the RF link it must beprovided with RF transmission capabilities.

The external entity 30 can be designed in a variety of ways, the basicrequirement being the ability to establish a data communication with theslave controller 16. In one possible example, the external entity is inthe form of a computing apparatus running a program that can establishthe communication session with the slave controller 16 according to anysuitable protocol, such as to send data to the slave controller 16,receive data from the slave controller 16, or both.

The external entity 30 has features designed in the specific way theyare to interact with the slave controller 16. When the external entity30 is used solely to upgrade the program data held in the memory 26, theexternal entity 30 does not require any elaborate user interface. On theother hand, when the external entity 30 is designed to send commands tothe slave controller 16 and/or to receive the event log, the externalentity 30 is provided with a user interface suitable to the task. Morespecifically, the user interface allows the operator to select thecommand to be sent and displays to the operator the information receivedfrom the slave controller 16. Several examples of data communicationwill be discussed below:

-   1) The external entity updates the program data held in the memory    26. The program data to be sent to the slave controller is loaded in    the external entity from a variety of sources. One possibility is to    design the external entity such that it communicates over the    Internet with a site containing the program data. Over such an    Internet connection, the program data is loaded in the external    entity and is then available for transmission to the slave    controller. To perform the program data updating process, the    external entity is connected to the slave controller 16 in a number    of possible ways, as discussed earlier. The slave controller enters    the second mode of operation. The external entity 30 and the slave    controller 16 perform the necessary handshaking procedure and the    external entity 30 sends the program data to the slave controller    30. The latter replaces fully or in part the existing program data    in the memory 26 with the new program data.-   2) The external entity updates or loads the configuration file in    the memory 26. This is done as described earlier.-   3) The external entity obtains the event log. The external entity 30    is connected to the slave controller 16 as described earlier and the    latter enters the second mode of operation. The external entity 30    and the slave controller 16 perform the necessary handshaking    procedure and the external entity 30 sends a request for obtaining    the events log. The slave controller 16 sends the data in the events    log to the external entity. In the case when the external entity is    provided with a display, the operator can see the individual events.    The external entity can also be provided with the capability to send    commands to the slave controller 16 such as to erase all the entries    in the event log or to enter a marker or break point in the list of    events, as described earlier.-   4) The external entity sends discrete commands for execution by the    slave controller 16 or obtains status data not part of the events    log. As previously described, the external entity 30 connects to the    slave controller 16 and the latter enters the second mode of    operation. The operator can select specific commands through the    user interface of the external entity 30 that are sent to the slave    controller 16 for execution. For example, such commands may be    indicative of one or more steps of the starting procedure. The slave    controller 16 receives those commands and executes them, without    however, performing the entire starting procedure. This feature is    particularly useful to diagnose certain problems as the operator can    easily determine if the slave controller is capable to carry out    correctly all the steps in a certain procedure. Specific examples of    commands that can be sent to the slave controller 16 for execution    include energizing the starter motor, activating the ignition    system, activating the horn and activating the anti-theft system,    among others. Yet, another possibility is the send commands from the    external entity 30 to the slave controller 16 to request from the    slave controller 16 operational status data that is normally not    recorded in the events log. The slave controller 16 executes the    command by sending to the external entity the requested status    information. Examples of such operational status data include the    operational status of the hood, the trunk or the door.-   5) The external entity sends data to the slave controller 16 that    directs the slave controller to perform one or more functions a user    can request via the remote transmitter 12. In a sense, this feature    allows the installer or repairman to simulate how the slave    controller 16 will react when the user requests a certain function    and dials the appropriate command on the remote transmitter 12 which    is wirelessly sent to the slave controller 16. An example of one    such function is starting the vehicle. Here, in contrast to the case    detailed in paragraph 4 above, the slave controller implements the    entire starting procedure such as to demonstrate that it has been    correctly configured. Accordingly, the installer or repairman can    determine exactly what the slave controller 16 will do when the user    dials commands on the wireless transmitter 12 without the necessity    of actually sending those functions or commands from the wireless    transmitter 12.

Although various embodiments have been illustrated, this was for thepurpose of describing, but not limiting, the invention. Variousmodifications will become apparent to those skilled in the art and arewithin the scope of this invention, which is defined more particularlyby the attached claims.

1. A slave controller for mounting in a vehicle having an internalcombustion engine started by a starter motor, said slave controllercomprising: a) an antenna circuit input suitable for connection to anantenna circuit that is operative for picking up an RF signal; b) acontrol module in communication with said input, said control moduleincluding; i) a CPU; ii) a storage medium storing program data forexecution by said CPU; iii) an output, said control module beingresponsive to an RF signal received from said antenna circuit containinga command to start the internal combustion engine to generate a commandsignal at said output for directing the starter motor to crank theinternal combustion engine, wherein the generation of the command signalis effected by execution of said program data by said CPU; c) saidcontrol module being operative to establish an electrical pathway withan external entity via said antenna circuit input to update the programdata in said storage medium.
 2. A slave controller as defined in claim1, wherein the program data in said storage medium is a first programdata, said control module receiving as a result of the datacommunication updated program data and loading the updated program datain said storage medium for execution by said CPU for the generation ofthe command signal at said output for directing the starter motor tocrank the internal combustion engine.
 3. A slave controller as definedin claim 2, wherein said slave controller is operative to replace atleast in part the first program data by the updated program data.
 4. Aslave controller as defined in claim 2, wherein said program data whenexecuted by said CPU allows said control module to monitor RPMinformation from the internal combustion engine.
 5. A slave controlleras defined in claim 2, wherein said program data when executed by saidCPU allows said control module to detect when an occupant in the vehicledepresses a brake pedal.
 6. A slave controller as defined in claim 2,wherein said program data when executed by said CPU allows said controlmodule to detect when a hood of the vehicle is opened.
 7. A slavecontroller as defined in claim 2, wherein said program data whenexecuted by said CPU allows said control module to detect when a trunkof the vehicle is opened.
 8. A slave controller as defined in claim 2,wherein said program data when executed by said CPU allows said controlmodule to detect when a door of the vehicle is opened.
 9. A slavecontroller as defined in claim 1, wherein the vehicle has a plurality ofelectrical sub-systems, one of the electrical sub-systems being astarter sub-system that includes the starter motor, said slavecontroller having a set of ports for electrical connection to arespective electrical sub-system of the plurality of electricalsub-systems, said set of ports including said output suitable forelectrical connection to the starter sub-system.
 10. A slave controlleras defined in claim 9, wherein the plurality of electrical sub-systemsincludes a brake light electrical sub-system, said set of portsincluding a brake light port for connection to the brake lightelectrical sub-system.
 11. A slave controller as defined in claim 9,wherein the plurality of electrical sub-systems includes a hood sensorelectrical sub-system, said set of ports including a hood sensor portfor connection to the hood sensor electrical sub-system.
 12. A slavecontroller as defined in claim 9, wherein the plurality of electricalsub-systems includes a trunk sensor electrical sub-system, said set ofports including a trunk sensor port for connection to the trunk sensorelectrical sub-system.
 13. A slave controller as defined in claim 9,wherein the plurality of electrical sub-systems includes a door sensorelectrical sub-system, said set of ports including a door sensor portfor connection to the door sensor electrical sub-system.
 14. A slavecontroller as defined in claim 9, wherein the plurality of electricalsub-systems includes an RPM sensor electrical sub-system, said set ofports including an RPM sensor port for connection to the RPM sensorelectrical sub-system.
 15. A slave controller as defined in claim 9,wherein the plurality of electrical sub-systems includes a coolanttemperature sensor electrical sub-system, said set of ports including acoolant temperature sensor port for connection to the coolanttemperature sensor electrical sub-system.
 16. A slave controller formounting in a vehicle having an internal combustion engine started by astarter motor, said slave controller comprising: a) an antenna circuitinput suitable for connection to an antenna circuit suitable for pickingup an RF signal; b) a control module in communication with said input,said control module including; i) a CPU; ii) a storage medium storingprogram data for execution by said CPU; iii) an output, said controlmodule being responsive to an RF signal received from said antennacircuit containing a command to start the internal combustion engine toperform an engine starting procedure, the engine starting procedureincluding generation by said control module of a command signal at saidoutput for directing the starter motor to crank the internal combustionengine; iv) said program data when executed by said CPU allowing thecontrol module to record events associated with the vehicle andoccurring during the engine starting procedure; v) said control modulebeing operative to establish an electrical pathway with an externalentity via said antenna circuit input to update the program data in saidstorage medium.
 17. A slave controller as defined in claim 16, whereinthe program data in said storage medium is a first program data, saidcontrol module receiving as a result of the data communication updatedprogram data and loading the updated program data in said storage mediumfor execution by said CPU to allow the control module to record eventsor conditions associated with the vehicle and occurring during theengine starting procedure.
 18. A slave controller as defined in claim17, wherein said slave controller is operative to replace at least inpart the first program data by the updated program data.
 19. A slavecontroller as defined in claim 16, wherein the vehicle has a pluralityof electrical sub-systems, one of the electrical sub-systems being astarter sub-system that includes the starter motor, said slavecontroller having a set of ports for electrical connection to arespective electrical sub-system of the plurality of electricalsub-systems, said set of ports including said output suitable forelectrical connection to the starter sub-system.
 20. A slave controlleras defined in claim 19, wherein the plurality of electrical sub-systemsincludes a brake light electrical sub-system, said set of portsincluding a brake light port for connection to the brake lightelectrical sub-system.
 21. A slave controller as defined in claim 19,wherein the plurality of electrical sub-systems includes a hood sensorelectrical sub-system, said set of ports including a hood sensor portfor connection to the hood sensor electrical sub-system.
 22. A slavecontroller as defined in claim 19, wherein the plurality of electricalsub-systems includes a trunk sensor electrical sub-system, said set ofports including a trunk sensor port for connection to the trunk sensorelectrical sub-system.
 23. A slave controller as defined in claim 19,wherein the plurality of electrical sub-systems includes a door sensorelectrical sub-system, said set of ports including a door sensor portfor connection to the door sensor electrical sub-system.
 24. A slavecontroller as defined in claim 19, wherein the plurality of electricalsub-systems includes an RPM sensor electrical sub-system, said set ofports including an RPM sensor port for connection to the RPM sensorelectrical sub-system.
 25. A slave controller as defined in claim 19,wherein the plurality of electrical sub-systems includes a coolanttemperature sensor electrical sub-system, said set of ports including acoolant temperature sensor port for connection to the coolanttemperature sensor electrical sub-system.
 26. A slave controller asdefined in claim 18, wherein the events include error codes.
 27. A slavecontroller as defined in claim 18, wherein the events include enginestopped as a result of sensing power on a brake light electricalsub-system of the vehicle.
 28. A slave controller as defined in claim18, wherein the events include engine stoppage as a result of activationof an alarm system of the vehicle.
 29. A slave controller as defined inclaim 18, wherein the events include no RPM detection when the internalcombustion engine is being cranked or when running.
 30. A slavecontroller as defined in claim 18, wherein the events include a hood ofthe vehicle in an open condition.
 31. A slave controller as defined inclaim 18, wherein the events include a trunk of the vehicle in an opencondition.
 32. A slave controller as defined in claim 18, wherein theevents include a door of the vehicle in an open condition.
 33. A slavecontroller as defined in claim 18, wherein the events include atransmission of the vehicle in a condition that is not secure.
 34. Aslave controller as defined in claim 18, wherein the events include atransmission of the vehicle that is not in Park.
 35. A slave controlleras defined in claim 18, wherein the events include an ignition of thevehicle in an ON condition when the RF signal containing a command tostart the internal combustion engine is received by said control module.36. A slave controller as defined in claim 18, wherein the eventsinclude an expiration of a maximal time period during which the internalcombustion engine is allowed to run.
 37. A slave controller as definedin claim 18, wherein the events include a failure of the internalcombustion engine to start.
 38. A slave controller as defined in claim18, wherein the events include the internal combustion engineoverspeeding.
 39. A slave controller as defined in claim 18, wherein theevents include failure of the internal combustion engine after startingto maintain a minimal RPM value.
 40. A slave controller as defined inclaim 18, wherein the events include a failure of said control module.41. A slave controller as defined in claim 18, wherein the eventsinclude stoppage of the internal combustion engine as a result of analarm.
 42. A slave controller as defined in claim 18, wherein the eventsinclude a main switch of said slave controller in an OFF position.
 43. Aslave controller for mounting in a vehicle having an internal combustionengine started by a starter motor, said slave controller comprising acontrol module, including: a) a CPU; b) a storage medium storing programdata for execution by said CPU; c) an output, said control module beingresponsive to an RF signal containing a command to start the internalcombustion engine to perform an engine starting procedure, the enginestarting procedure including generation by said control module of acommand signal at said output for directing the starter motor to crankthe internal combustion engine; d) said program data when executed bysaid CPU allowing the control module to write entries in said storagemedium indicative of occurrence of events associated with the vehicleduring the engine starting procedure; e) said control module operativeto record data in said storage medium allowing distinguishing an orderof occurrence of events corresponding to respective entries in saidstorage medium.
 44. A slave controller as defined in claim 43, whereinthe data is a time stamp.
 45. A slave controller as defined in claim 44,wherein said slave controller records a time stamp in association witheach entry in said storage medium.
 46. A slave controller as defined inclaim 43, wherein the events include error codes.
 47. A slave controlleras defined in claim 43, wherein the events include engine stopped as aresult of sensing power on a brake light electrical sub-system of thevehicle.
 48. A slave controller as defined in claim 43, wherein theevents include engine stoppage as a result of activation of an alarmsystem of the vehicle.
 49. A slave controller as defined in claim 43,wherein the events include no RPM detection when the internal combustionengine is being cranked or when running.
 50. A slave controller asdefined in claim 43, wherein the events include a hood of the vehicle inan open condition.
 51. A slave controller as defined in claim 43,wherein the events include a trunk of the vehicle in an open condition.52. A slave controller as defined in claim 43, wherein the eventsinclude a door of the vehicle in an open condition.
 53. A slavecontroller as defined in claim 43, wherein the events include atransmission of the vehicle in a condition that is not secure.
 54. Aslave controller as defined in claim 43, wherein the events include atransmission of the vehicle that is not in Park.
 55. A slave controlleras defined in claim 43, wherein the events include an ignition of thevehicle in an ON condition when the RF signal containing a command tostart the internal combustion engine is received by said control module.56. A slave controller as defined in claim 43, wherein the eventsinclude an expiration of a maximal time period during which the internalcombustion engine is allowed to run.
 57. A slave controller as definedin claim 43, wherein the events include a failure of the internalcombustion engine to start.
 58. A slave controller as defined in claim43, wherein the events include the internal combustion engineoverspeeding.
 59. A slave controller as defined in claim 43, wherein theevents include failure of the internal combustion engine after startingto maintain a minimal RPM value.
 60. A slave controller as defined inclaim 43, wherein the events include a failure of said control module.61. A slave controller as defined in claim 43, wherein the eventsinclude stoppage of the internal combustion engine as a result of analarm.
 62. A slave controller as defined in claim 43, wherein the eventsinclude a main switch of said slave controller in an OFF position.
 63. Aslave controller for mounting in a vehicle having an internal combustionengine started by a starter motor, said slave controller comprising acontrol module, including: a) a CPU; b) a storage medium storing programdata for execution by said CPU; a) an output, said control module beingresponsive to an RF signal containing a command to start the internalcombustion engine to perform an engine starting procedure, the enginestarting procedure including generation by said control module of acommand signal at said output for directing the starter motor to crankthe internal combustion engine; d) said program data when executed bysaid CPU allowing the control module to write entries in a list ofentries in said storage medium, the entries indicative of occurrence ofrespective events associated with the vehicle during the engine startingprocedure; e) said control module responsive to a command issued by anexternal device under instruction of a technician during a diagnosticprocedure of said slave controller to write data in said storage medium,the data forming a break point in the list of entries, the break pointbeing distinguishable from entries corresponding to events associatedwith the vehicle during the engine starting procedure.
 64. A slavecontroller as defined in claim 63, wherein the events include errorcodes.
 65. A slave controller as defined in claim 63, wherein the eventsinclude engine stopped as a result of sensing power on a brake lightelectrical sub-system of the vehicle.
 66. A slave controller as definedin claim 63, wherein the events include engine stoppage as a result ofactivation of an alarm system of the vehicle.
 67. A slave controller asdefined in claim 63, wherein the events include no RPM detection whenthe internal combustion engine is being cranked or when running.
 68. Aslave controller as defined in claim 63, wherein the events include ahood of the vehicle in an open condition.
 69. A slave controller asdefined in claim 63, wherein the events include a trunk of the vehiclein an open condition.
 70. A slave controller as defined in claim 63,wherein the events include a door of the vehicle in an open condition.71. A slave controller as defined in claim 63, wherein the eventsinclude a transmission of the vehicle in a condition that is not secure.72. A slave controller as defined in claim 63, wherein the eventsinclude a transmission of the vehicle that is not in Park.
 73. A slavecontroller as defined in claim 63, wherein the events include anignition of the vehicle in an ON condition when the RF signal containinga command to start the internal combustion engine is received by saidcontrol module.
 74. A slave controller as defined in claim 63, whereinthe events include an expiration of a maximal time period during whichthe internal combustion engine is allowed to run.
 75. A slave controlleras defined in claim 63, wherein the events include a failure of theinternal combustion engine to start.
 76. A slave controller as definedin claim 63, wherein the events include the internal combustion engineoverspeeding.
 77. A slave controller as defined in claim 63, wherein theevents include failure of the internal combustion engine after startingto maintain a minimal RPM value.
 78. A slave controller as defined inclaim 63, wherein the events include a failure of said control module.79. A slave controller as defined in claim 63, wherein the eventsinclude stoppage of the internal combustion engine as a result of analarm.
 80. A slave controller as defined in claim 63, wherein the eventsinclude a main switch of said slave controller in an OFF position.
 81. Aslave controller for mounting in a vehicle having an internal combustionengine started by a starter motor, wherein the vehicle has a pluralityof electrical sub-systems, said slave controller comprising: a) a set ofports for electrical connection to a respective electrical sub-system ofthe plurality of electrical sub-systems; b) a control module including:i) a CPU; ii) a storage medium storing program data for execution bysaid CPU; iii) an output, said control module being responsive to an RFsignal containing a command to start the internal combustion engine togenerate a command signal at said output for directing the starter motorto crank the internal combustion engine, wherein the generation of thecommand signal is effected by execution of said program data by saidCPU; iv) said control module being operative to establish an electricalpathway with an external entity via at least one of said set of ports toupdate the program data in said storage medium.
 82. A slave controlleras defined in claim 81, wherein the program data in said storage mediumis a first program data, said control module receiving as a result ofthe data communication updated program data and loading the updatedprogram data in said storage medium for execution by said CPU for thegeneration of the command signal at said output for directing thestarter motor to crank the internal combustion engine.
 83. A slavecontroller as defined in claim 82, wherein said slave controller isoperative to replace at least in part the first program data by theupdated program data.
 84. A slave controller as defined in claim 82,wherein said program data when executed by said CPU allows said controlmodule to monitor RPM information from the internal combustion engine.85. A slave controller as defined in claim 82, wherein said program datawhen executed by said CPU allows said control module to detect when anoccupant in the vehicle depresses a brake pedal.
 86. A slave controlleras defined in claim 82, wherein said program data when executed by saidCPU allows said control module to detect when a hood of the vehicle isopened.
 87. A slave controller as defined in claim 82, wherein saidprogram data when executed by said CPU allows said control module todetect when a trunk of the vehicle is opened.
 88. A slave controller asdefined in claim 82, wherein said program data when executed by said CPUallows said control module to detect when a door of the vehicle isopened.
 89. A slave controller as defined in claim 81, wherein one ofthe electrical sub-systems is a starter sub-system that includes thestarter motor, said set of ports including said output suitable forelectrical connection to the starter sub-system.
 90. A slave controlleras defined in claim 81, wherein the plurality of electrical sub-systemsincludes a brake light electrical sub-system, said set of portsincluding a brake light port for connection to the brake lightelectrical sub-system, the electrical pathway being effected via saidbrake light port.
 91. A slave controller as defined in claim 81, whereinthe plurality of electrical sub-systems includes a hood sensorelectrical sub-system, said set of ports including a hood sensor portfor connection to the hood sensor electrical sub-system, the electricalpathway being effected via said hood sensor port.
 92. A slave controlleras defined in claim 81, wherein the plurality of electrical sub-systemsincludes a trunk sensor electrical sub-system, said set of portsincluding a trunk sensor port for connection to the trunk sensorelectrical sub-system, the electrical pathway being effected via saidtrunk sensor port.
 93. A slave controller as defined in claim 81,wherein the plurality of electrical sub-systems includes a door sensorelectrical sub-system, said set of ports including a door sensor portfor connection to the door sensor electrical sub-system, the electricalpathway being effected via said door sensor port.
 94. A slave controlleras defined in claim 81, wherein the plurality of electrical sub-systemsincludes an RPM sensor electrical sub-system, said set of portsincluding an RPM sensor port for connection to the RPM sensor electricalsub-system, the electrical pathway being effected via said RPM sensorport.
 95. A slave controller as defined in claim 81, wherein theplurality of electrical sub-systems includes a coolant temperaturesensor electrical sub-system, said set of ports including a coolanttemperature sensor port for connection to the coolant temperature sensorelectrical sub-system, the electrical pathway being effected via said acoolant temperature sensor port.
 96. A slave controller as defined inclaim 43, wherein said control module is operative to establish a datacommunication with an external entity to update the program data in saidstorage medium.
 97. A slave controller as defined in claim 96, whereinthe data communication is established over a wireless link.
 98. A slavecontroller as defined in claim 96, wherein the data communication isestablished over an RF link.
 99. A slave controller as defined in claim96, wherein the data communication is established aver an electricalpathway between said control module and the external entity.
 100. Aslave controller as defined in claim 99, wherein said slave controllerincludes an antenna circuit input for connection to an antenna circuitsuitable for picking up the RF signal containing a command to start theinternal combustion engine, the data communication being effected viasaid antenna circuit input.